From: Alex Crichton Date: Wed, 31 May 2017 19:55:47 +0000 (-0700) Subject: Remove lots of dated configuration from this repo X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~9^2~15^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=50a46f47086c01effe195ad6a1566f7cf9084fb5;p=cargo.git Remove lots of dated configuration from this repo Lots of data build stuff is still here from awhile ago when this repo was producing Cargo binaries, but the rust-lang/rust repo is now responsible for all these binaries and build configurations. We no longer need to produce artifacts or have tons of cross-compiles as rust-lang/rust does all that work, instead let's just test the likely-to-regress platforms and have rust-lang/rust take care of the rest. This commit: * Deletes the old `configure` script and `Makefile` * Rewrites `src/doc` management as a shell script * Trims down Travis/AppVeyor configuration --- diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index b40d613a4..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "src/rust-installer"] - path = src/rust-installer - url = https://github.com/rust-lang/rust-installer.git diff --git a/.travis.yml b/.travis.yml index 8d5f2bf83..404d32804 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,161 +2,53 @@ language: rust rust: stable sudo: required dist: trusty -os: linux -services: - - docker git: depth: 1 matrix: include: - # stable linux builds, tested - env: TARGET=x86_64-unknown-linux-gnu ALT=i686-unknown-linux-gnu - IMAGE=dist - MAKE_TARGETS="test distcheck doc install uninstall" - ALLOW_PR=1 - NO_ADD=1 - - env: TARGET=i686-unknown-linux-gnu - IMAGE=dist - MAKE_TARGETS=test-unit-i686-unknown-linux-gnu - CFG_DISABLE_CROSS_TESTS=1 - - # stable osx builds, tested - env: TARGET=x86_64-apple-darwin ALT=i686-apple-darwin - MAKE_TARGETS="test distcheck doc install uninstall" - MACOSX_DEPLOYMENT_TARGET=10.7 - NO_ADD=1 - os: osx - - env: TARGET=i686-apple-darwin - MAKE_TARGETS=test-unit-i686-apple-darwin - MACOSX_DEPLOYMENT_TARGET=10.7 - CFG_DISABLE_CROSS_TESTS=1 os: osx - # stable musl target, tested - - env: TARGET=x86_64-unknown-linux-musl - IMAGE=x86_64-musl - CFG_DISABLE_CROSS_TESTS=1 - MAKE_TARGETS=test-unit-$TARGET - - # cross compiled targets - - env: TARGET=armv7-linux-androideabi - IMAGE=android - - env: TARGET=arm-unknown-linux-gnueabi - IMAGE=cross - - env: TARGET=arm-unknown-linux-gnueabihf - IMAGE=cross - - env: TARGET=armv7-unknown-linux-gnueabihf - IMAGE=cross - - env: TARGET=aarch64-unknown-linux-gnu - IMAGE=cross - - env: TARGET=i686-unknown-freebsd - IMAGE=cross - - env: TARGET=x86_64-unknown-freebsd - IMAGE=cross - - env: TARGET=x86_64-unknown-netbsd - IMAGE=cross - - env: TARGET=mips-unknown-linux-gnu - IMAGE=cross - - env: TARGET=mipsel-unknown-linux-gnu - IMAGE=cross - - env: TARGET=mips64-unknown-linux-gnuabi64 - IMAGE=cross - rust: beta - - env: TARGET=mips64el-unknown-linux-gnuabi64 - IMAGE=cross - rust: beta - - env: TARGET=s390x-unknown-linux-gnu - IMAGE=cross - rust: beta - - env: TARGET=powerpc-unknown-linux-gnu - IMAGE=cross - rust: beta - - env: TARGET=powerpc64-unknown-linux-gnu - IMAGE=cross - rust: beta - - env: TARGET=powerpc64le-unknown-linux-gnu - IMAGE=cross - rust: beta - - # beta/nightly builds - env: TARGET=x86_64-unknown-linux-gnu ALT=i686-unknown-linux-gnu - IMAGE=dist - MAKE_TARGETS="test distcheck doc install uninstall" - DEPLOY=0 - NO_ADD=1 rust: beta + - env: TARGET=x86_64-unknown-linux-gnu ALT=i686-unknown-linux-gnu - IMAGE=dist - MAKE_TARGETS="test distcheck doc install uninstall" - DEPLOY=0 - NO_ADD=1 rust: nightly + script: + - cargo test + - cargo doc --no-deps + - sh src/ci/dox.sh + after_success: | + [ $TRAVIS_BRANCH = master ] && + [ $TRAVIS_PULL_REQUEST = false ] && + [ $(uname -s) = Linux ] && + pip install ghp-import --user && + $HOME/.local/bin/ghp-import -n target/doc && + git push -qf https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages 2>&1 > /dev/null exclude: - rust: stable before_script: - - if [ -z "$NO_ADD" ]; then rustup target add $TARGET; fi - - if [ ! -z "$ALT" ]; then rustup target add $ALT; fi + - rustup target add $ALT script: - - > - if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - echo skipping, not a full build; - elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - SRC=. src/ci/run.sh $TARGET; - else - src/ci/docker/run.sh $IMAGE $TARGET; - fi - -after_success: | - [ $TRAVIS_BRANCH = master ] && - [ $TRAVIS_PULL_REQUEST = false ] && - [ $(uname -s) = Linux ] && - pip install ghp-import --user && - $HOME/.local/bin/ghp-import -n target/doc && - git push -qf https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages 2>&1 > /dev/null + - cargo test env: global: - - DEPLOY=1 - secure: "hWheSLilMM4DXChfSy2XsDlLw338X2o+fw8bE590xxU2TzngFW8GUfq7lGfZEp/l4SNNIS6ROU/igyttCZtxZMANZ4aMQZR5E8Fp4yPOyE1pZLDH/LdQVXnROsfburQJeq+GIYIbZ01Abzh5ClpgLg5KX0H627uj063zZ7Ljo/w=" notifications: email: on_success: never - -before_deploy: - - mkdir -p deploy/$TRAVIS_COMMIT - - cp target/$TARGET/release/dist/cargo-*-$TARGET.tar.gz - deploy/$TRAVIS_COMMIT - - > - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - find "deploy/$TRAVIS_COMMIT" -maxdepth 1 -type f -exec sh -c 'shasum -a 256 -b "{}" > "{}.sha256"' \;; - else - find "deploy/$TRAVIS_COMMIT" -maxdepth 1 -type f -exec sh -c 'sha256sum -b "{}" > "{}.sha256"' \;; - fi - -deploy: - - provider: s3 - bucket: rust-lang-ci - skip_cleanup: true - local_dir: deploy - upload_dir: cargo-builds - acl: public_read - region: us-east-1 - access_key_id: AKIAIWZDM2B2IJOWBGTA - secret_access_key: - secure: NB9b/MhIDiv8OtNiN/sHaFgA3xG2fa7MGuQQKJNj80ktvgByzDm5UPNyNeoYx9SmJ3jOWobgcPVaoUd2S+6XgO3bMBqm7sM/oMeE0KdqToh6+V2bKfyRF2U5fm697LEGepPIBYqMLDg4nr/dbknbKltzp6dAfJRyy22Nb721zPQ= - on: - branch: auto-cargo - condition: $DEPLOY = 1 - -cache: - directories: - - target/openssl +addons: + apt: + packages: + - gcc-multilib diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 1be12f3ba..000000000 --- a/Makefile.in +++ /dev/null @@ -1,427 +0,0 @@ -CFG_RELEASE_NUM=0.20.0 -CFG_RELEASE_LABEL= - -OPENSSL_VERS=1.0.2k -OPENSSL_SHA256=6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0 - -include config.mk - -export PATH := $(dir $(CFG_RUSTC)):$(PATH) - -ifeq ($(CFG_RELEASE_CHANNEL),stable) -CFG_RELEASE=$(CFG_RELEASE_NUM) -CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM) -else ifeq ($(CFG_RELEASE_CHANNEL),beta) -CFG_RELEASE=$(CFG_RELEASE_NUM)-beta -CFG_PACKAGE_VERS=beta -else ifeq ($(CFG_RELEASE_CHANNEL),nightly) -CFG_RELEASE=$(CFG_RELEASE_NUM)-nightly -CFG_PACKAGE_VERS=nightly -else ifeq ($(CFG_RELEASE_CHANNEL),dev) -CFG_RELEASE=$(CFG_RELEASE_NUM)-dev -CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-dev -endif - -# allow build systems to use a constant date instead of the current one -CFG_BUILD_DATE = $(shell SOURCE_DATE_EPOCH="$${SOURCE_DATE_EPOCH:-$$(date +%s)}" ; date -u -d "@$$SOURCE_DATE_EPOCH" +%F 2>/dev/null || date -u -r "$$SOURCE_DATE_EPOCH" +%F 2>/dev/null || date -u +%F) - -ifneq ($(wildcard $(CFG_SRC_DIR)/.git),) -CFG_COMMIT_DATE = $(shell git --git-dir='$(CFG_SRC_DIR).git' log -1 --date=short --pretty=format:'%cd') -CFG_SHORT_COMMIT_HASH = $(shell git --git-dir='$(CFG_SRC_DIR).git' rev-parse --short HEAD) -CFG_COMMIT_HASH = $(shell git --git-dir='$(CFG_SRC_DIR).git' rev-parse HEAD) -endif -PKG_NAME = cargo-$(CFG_PACKAGE_VERS) - -ifdef CFG_DISABLE_VERIFY_INSTALL -MAYBE_DISABLE_VERIFY=--disable-verify -else -MAYBE_DISABLE_VERIFY= -endif - -ifdef CFG_DISABLE_OPTIMIZE -OPT_FLAG= -else -OPT_FLAG=--release -endif - -ifdef VERBOSE -VERBOSE_FLAG=--verbose -else -VERBOSE_FLAG= -endif - -ifdef CFG_CUSTOM_BUILD_DIR -export CARGO_TARGET_DIR := $(CFG_CUSTOM_BUILD_DIR) -endif - -S := $(CFG_SRC_DIR)/ - -CFG_RELEASE_PARTS := $(subst ., ,$(CFG_RELEASE_NUM)) -CFG_VERSION_MAJOR := $(word 1,$(CFG_RELEASE_PARTS)) -CFG_VERSION_MINOR := $(word 2,$(CFG_RELEASE_PARTS)) -CFG_VERSION_PATCH := $(word 3,$(CFG_RELEASE_PARTS)) - -# This is output to the 'version' file during packaging -CFG_VERSION=$(CFG_RELEASE) -ifneq ($(CFG_COMMIT_HASH),) -CFG_VERSION=$(CFG_RELEASE) ($(CFG_SHORT_COMMIT_HASH) $(CFG_COMMIT_DATE)) -endif - -export CFG_VERSION_MAJOR -export CFG_VERSION_MINOR -export CFG_VERSION_PATCH -ifneq ($(CFG_COMMIT_HASH),) -export CFG_COMMIT_HASH -export CFG_COMMIT_DATE -export CFG_SHORT_COMMIT_HASH -endif -export CFG_BUILD_DATE -export CFG_RELEASE_CHANNEL -export CFG_DISABLE_CROSS_TESTS - -ifeq ($(OS),Windows_NT) -X = .exe -endif - -TARGET_ROOT = target -BIN_TARGETS := cargo -BIN_TARGETS := $(BIN_TARGETS:src/bin/%.rs=%) -BIN_TARGETS := $(filter-out cargo,$(BIN_TARGETS)) - -define DIST_TARGET -ifdef CFG_DISABLE_OPTIMIZE -TARGET_$(1) = $$(TARGET_ROOT)/$(1)/debug -else -TARGET_$(1) = $$(TARGET_ROOT)/$(1)/release -endif -DISTDIR_$(1) = $$(TARGET_$(1))/dist -IMGDIR_$(1) = $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1)-image -OVERLAYDIR_$(1) = $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1)-overlay -PKGDIR_$(1) = $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1) -BIN_TARGETS_$(1) := $$(BIN_TARGETS:%=$$(TARGET_$(1))/%$$(X)) -endef -$(foreach target,$(CFG_TARGET),$(eval $(call DIST_TARGET,$(target)))) - -ifdef CFG_LOCAL_CARGO -CARGO := $(CFG_LOCAL_CARGO) -else -CARGO := $(CFG_CARGO) -endif - -all: $(foreach target,$(CFG_TARGET),cargo-$(target)) - -define CARGO_TARGET -cargo-$(1): target/openssl/$(1).stamp - $$(CFG_RUSTC) -V - $$(CARGO) --version - $$(CARGO) build --target $(1) \ - --manifest-path $(S)Cargo.toml \ - $$(OPT_FLAG) $$(CARGOFLAGS) $$(VERBOSE_FLAG) $$(ARGS) - -test-unit-$(1): target/openssl/$(1).stamp cargo-$(1) - @mkdir -p $$(CFG_BUILD_DIR)/target/$(1)/cit - $$(CARGO) test --target $(1) \ - --manifest-path $(S)Cargo.toml \ - $$(OPT_FLAG) $$(CARGOFLAGS) $$(VERBOSE_FLAG) $$(only) -- \ - --quiet -endef -$(foreach target,$(CFG_TARGET),$(eval $(call CARGO_TARGET,$(target)))) - -# === Tests - -test: style no-exes $(foreach target,$(CFG_TARGET),test-unit-$(target)) - -style: - (cd $(S) && sh tests/check-style.sh) - -ifeq ($(CFG_GIT),) -no-exes: -else -no-exes: - (cd $(S) && find $$($(CFG_GIT) ls-files) -type f \ - \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ - -not -name configure -not -name '*.sh' -not -name '*.rs' \ - -not -name '*.py' -not -wholename "*/rust-installer/*" | \ - grep '.*' \ - && exit 1 || exit 0) -endif - -# === Misc - -Makefile config.mk: config.stamp -config.stamp: $(CFG_SRC_DIR)configure $(CFG_SRC_DIR)Makefile.in - $(CFG_SRC_DIR)configure $(CFG_CONFIGURE_ARGS) - -clean-all: clean -clean: - rm -rf $(TARGET_ROOT) - -# === Documentation - -DOCS := index faq config guide manifest build-script pkgid-spec crates-io \ - environment-variables specifying-dependencies source-replacement \ - policies external-tools -DOC_DIR := target/doc -DOC_OPTS := --markdown-no-toc \ - --markdown-css stylesheets/normalize.css \ - --markdown-css stylesheets/all.css \ - --markdown-css stylesheets/prism.css \ - --html-in-header $(S)src/doc/html-headers.html \ - --html-before-content $(S)src/doc/header.html \ - --html-after-content $(S)src/doc/footer.html -ASSETS := CNAME images/noise.png images/forkme.png images/Cargo-Logo-Small.png \ - stylesheets/all.css stylesheets/normalize.css javascripts/prism.js \ - javascripts/all.js stylesheets/prism.css images/circle-with-i.png \ - images/search.png images/org-level-acl.png images/auth-level-acl.png \ - favicon.ico - -doc: $(foreach doc,$(DOCS),target/doc/$(doc).html) \ - $(foreach asset,$(ASSETS),target/doc/$(asset)) \ - target/doc/cargo/index.html - -target/doc/cargo/index.html: target/openssl/$(CFG_BUILD).stamp cargo-$(CFG_BUILD) - $(CARGO) doc --no-deps --target $(CFG_BUILD) \ - --manifest-path $(S)Cargo.toml $(OPT_FLAG) - -$(DOC_DIR)/%.html: \ - $(S)src/doc/%.md \ - $(S)src/doc/html-headers.html \ - $(S)src/doc/header.html \ - $(S)src/doc/footer.html - @mkdir -p $(@D) - $(CFG_RUSTDOC) $< -o $(@D) $(DOC_OPTS) - -$(DOC_DIR)/%: $(S)src/doc/% - @mkdir -p $(@D) - cp $< $@ - -OPENSSL_OS_aarch64-linux-android := linux-aarch64 -OPENSSL_OS_aarch64-unknown-linux-gnu := linux-aarch64 -OPENSSL_OS_arm-linux-androideabi := android -OPENSSL_OS_arm-unknown-linux-gnueabi := linux-armv4 -OPENSSL_OS_arm-unknown-linux-gnueabihf := linux-armv4 -OPENSSL_OS_armv7-linux-androideabi := android-armv7 -OPENSSL_OS_armv7-unknown-linux-gnueabihf := linux-armv4 -OPENSSL_OS_i686-apple-darwin := darwin-i386-cc -OPENSSL_OS_i686-linux-android := android-x86 -OPENSSL_OS_i686-unknown-freebsd := BSD-x86-elf -OPENSSL_OS_i686-unknown-linux-gnu := linux-elf -OPENSSL_OS_i686-unknown-linux-musl := linux-elf -OPENSSL_OS_mips-unknown-linux-gnu := linux-mips32 -OPENSSL_OS_mips64-unknown-linux-gnuabi64 := linux64-mips64 -OPENSSL_OS_mips64el-unknown-linux-gnuabi64 := linux64-mips64 -OPENSSL_OS_mipsel-unknown-linux-gnu := linux-mips32 -OPENSSL_OS_powerpc-unknown-linux-gnu := linux-ppc -OPENSSL_OS_powerpc64-unknown-linux-gnu := linux-ppc64 -OPENSSL_OS_powerpc64le-unknown-linux-gnu := linux-ppc64le -OPENSSL_OS_s390x-unknown-linux-gnu := linux64-s390x -OPENSSL_OS_x86_64-apple-darwin := darwin64-x86_64-cc -OPENSSL_OS_x86_64-unknown-freebsd := BSD-x86_64 -OPENSSL_OS_x86_64-unknown-linux-gnu := linux-x86_64 -OPENSSL_OS_x86_64-unknown-linux-musl := linux-x86_64 -OPENSSL_OS_x86_64-unknown-netbsd := BSD-x86_64 - -OPENSSL_AR_aarch64-linux-android := aarch64-linux-android-ar -OPENSSL_AR_aarch64-unknown-linux-gnu := aarch64-linux-gnu-ar -OPENSSL_AR_arm-linux-androideabi := arm-linux-androideabi-ar -OPENSSL_AR_arm-unknown-linux-gnueabi := arm-linux-gnueabi-ar -OPENSSL_AR_arm-unknown-linux-gnueabihf := arm-linux-gnueabihf-ar -OPENSSL_AR_armv7-linux-androideabi := arm-linux-androideabi-ar -OPENSSL_AR_armv7-unknown-linux-gnueabihf := armv7-linux-gnueabihf-ar -OPENSSL_AR_i686-apple-darwin := ar -OPENSSL_AR_i686-linux-android := i686-linux-android-ar -OPENSSL_AR_i686-unknown-freebsd := i686-unknown-freebsd10-ar -OPENSSL_AR_i686-unknown-linux-gnu := ar -OPENSSL_AR_i686-unknown-linux-musl := ar -OPENSSL_AR_mips-unknown-linux-gnu := mips-linux-gnu-ar -OPENSSL_AR_mips64-unknown-linux-gnuabi64 := mips64-linux-gnuabi64-ar -OPENSSL_AR_mips64el-unknown-linux-gnuabi64 := mips64el-linux-gnuabi64-ar -OPENSSL_AR_mipsel-unknown-linux-gnu := mipsel-linux-gnu-ar -OPENSSL_AR_powerpc-unknown-linux-gnu := powerpc-linux-gnu-ar -OPENSSL_AR_powerpc64-unknown-linux-gnu := powerpc64-linux-gnu-ar -OPENSSL_AR_powerpc64le-unknown-linux-gnu := powerpc64le-linux-gnu-ar -OPENSSL_AR_s390x-unknown-linux-gnu := s390x-linux-gnu-ar -OPENSSL_AR_x86_64-apple-darwin := ar -OPENSSL_AR_x86_64-unknown-freebsd := x86_64-unknown-freebsd10-ar -OPENSSL_AR_x86_64-unknown-linux-gnu := ar -OPENSSL_AR_x86_64-unknown-linux-musl := ar -OPENSSL_AR_x86_64-unknown-netbsd := x86_64-unknown-netbsd-ar - -OPENSSL_CC_aarch64-linux-android := aarch64-linux-android-gcc -OPENSSL_CC_aarch64-unknown-linux-gnu := aarch64-linux-gnu-gcc -OPENSSL_CC_arm-linux-androideabi := arm-linux-androideabi-gcc -OPENSSL_CC_arm-unknown-linux-gnueabi := arm-linux-gnueabi-gcc -OPENSSL_CC_arm-unknown-linux-gnueabihf := arm-linux-gnueabihf-gcc -OPENSSL_CC_armv7-unknown-linux-gnueabihf := armv7-linux-gnueabihf-gcc -OPENSSL_CC_armv7-linux-androideabi := arm-linux-androideabi-gcc -OPENSSL_CC_i686-apple-darwin := clang -OPENSSL_CC_i686-linux-android := i686-linux-android-gcc -OPENSSL_CC_i686-unknown-freebsd := i686-unknown-freebsd10-gcc -OPENSSL_CC_i686-unknown-linux-gnu := gcc -OPENSSL_CC_i686-unknown-linux-musl := musl-gcc -OPENSSL_CC_mips-unknown-linux-gnu := mips-linux-gnu-gcc -OPENSSL_CC_mips64-unknown-linux-gnuabi64 := mips64-linux-gnuabi64-gcc -OPENSSL_CC_mips64el-unknown-linux-gnuabi64 := mips64el-linux-gnuabi64-gcc -OPENSSL_CC_mipsel-unknown-linux-gnu := mipsel-linux-gnu-gcc -OPENSSL_CC_powerpc-unknown-linux-gnu := powerpc-linux-gnu-gcc -OPENSSL_CC_powerpc64-unknown-linux-gnu := powerpc64-linux-gnu-gcc -OPENSSL_CC_powerpc64le-unknown-linux-gnu := powerpc64le-linux-gnu-gcc -OPENSSL_CC_s390x-unknown-linux-gnu := s390x-linux-gnu-gcc -OPENSSL_CC_x86_64-apple-darwin := clang -OPENSSL_CC_x86_64-unknown-freebsd := x86_64-unknown-freebsd10-gcc -OPENSSL_CC_x86_64-unknown-linux-gnu := gcc -OPENSSL_CC_x86_64-unknown-linux-musl := musl-gcc -OPENSSL_CC_x86_64-unknown-netbsd := x86_64-unknown-netbsd-gcc - -SETARCH_i686-unknown-linux-gnu := setarch i386 - -OPENSSL_CFLAGS_aarch64-linux-android := "-mandroid -fomit-frame-pointer" -OPENSSL_CFLAGS_i686-apple-darwin := -m32 -OPENSSL_CFLAGS_i686-unknown-linux-gnu := -m32 -OPENSSL_CFLAGS_i686-unknown-linux-musl := -m32 - -define BUILD_OPENSSL - -ifdef CFG_ENABLE_BUILD_OPENSSL - -cargo-$(1): export OPENSSL_STATIC := 1 -test-unit-$(1): export OPENSSL_STATIC := 1 - -OPENSSL_INSTALL_$(1) := $$(CFG_BUILD_DIR)/target/openssl/$(1)-install - -ifdef OPENSSL_OS_$(1) - -target/openssl/$(1).stamp: target/openssl/openssl-$$(OPENSSL_VERS).tar.gz \ - | target/openssl/ - rm -rf target/openssl/$(1) - mkdir -p target/openssl/$(1) - tar xf $$< -C target/openssl/$(1) --strip-components 1 - (cd target/openssl/$(1) && \ - CC=$$(OPENSSL_CC_$(1)) \ - AR=$$(OPENSSL_AR_$(1)) \ - $$(SETARCH_$(1)) ./Configure --prefix=$$(OPENSSL_INSTALL_$(1)) \ - no-dso $$(OPENSSL_OS_$(1)) -fPIC $$(OPENSSL_CFLAGS_$(1))&& \ - $(MAKE) -j1 && \ - $(MAKE) install) - touch $$@ - -# variables read by various build scripts to find openssl -cargo-$(1): export OPENSSL_DIR := $$(OPENSSL_INSTALL_$(1)) -test-unit-$(1): export OPENSSL_DIR := $$(OPENSSL_INSTALL_$(1)) - -# build libz statically into the cargo we're producing -cargo-$(1): export LIBZ_SYS_STATIC := 1 - -else # !OPENSSL_OS_$(1) -target/openssl/$(1).stamp: - -endif - -else # !CFG_ENABLE_BUILD_OPENSSL -target/openssl/$(1).stamp: -endif - -endef - -$(foreach target,$(CFG_TARGET),$(eval $(call BUILD_OPENSSL,$(target)))) - -ifeq ($(shell uname),Darwin) -SHASUM := shasum -a 256 -else -SHASUM := sha256sum -endif - -target/openssl/openssl-$(OPENSSL_VERS).tar.gz: | target/openssl/ - curl -o $(@).tmp https://www.openssl.org/source/openssl-$(OPENSSL_VERS).tar.gz - $(SHASUM) $(@).tmp > $(@).sha256 - test $(OPENSSL_SHA256) = `cut -d ' ' -f 1 $(@).sha256` - mv $(@).tmp $(@) - -target/openssl/: - mkdir -p $(@) - -# === Distribution - -define DO_DIST_TARGET -dist-$(1): $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1).tar.gz - -# One may wonder why some of the commands here are prefixed with `cd -P .`, and -# that's a good question! On some of the windows bots, PWD has a windows-style -# path, and that ends up choking the installation script in various ways. -# Prefixing commands with this `cd -P .` helps the bots to set the right PWD env -# var. -distcheck-$(1): dist-$(1) - rm -rf $$(TARGET_$(1))/distcheck - mkdir -p $$(TARGET_$(1))/distcheck - (cd $$(TARGET_$(1))/distcheck && tar xf ../dist/$$(PKG_NAME)-$(1).tar.gz) - cd -P . && $$(TARGET_$(1))/distcheck/$$(PKG_NAME)-$(1)/install.sh \ - --prefix=$$(TARGET_$(1))/distcheck/install - $$(TARGET_$(1))/distcheck/install/bin/cargo -V > /dev/null - cd -P . && $$(TARGET_$(1))/distcheck/$$(PKG_NAME)-$(1)/install.sh \ - --prefix=$$(TARGET_$(1))/distcheck/install --uninstall - [ -f $$(TARGET_$(1))/distcheck/install/bin/cargo$(X) ] && exit 1 || exit 0 - -prepare-image-$(1): - @[ -f $$(TARGET_$(1))/cargo$$(X) ] || echo 'Please run `make` first' - @[ -f $$(TARGET_$(1))/cargo$$(X) ] - rm -rf $$(IMGDIR_$(1)) - mkdir -p $$(IMGDIR_$(1))/bin $$(IMGDIR_$(1))/$(CFG_LIBDIR)/cargo \ - $$(IMGDIR_$(1))$(CFG_MANDIR)/man1 \ - $$(IMGDIR_$(1))$(CFG_DOCDIR) \ - $$(IMGDIR_$(1))$(CFG_DATADIR)/zsh/site-functions \ - $$(IMGDIR_$(1))$(CFG_SYSCONFDIR)/bash_completion.d - cp $$(TARGET_$(1))/cargo$$(X) $$(IMGDIR_$(1))/bin - cp $(S)src/etc/man/*.1 $$(IMGDIR_$(1))$(CFG_MANDIR)/man1 - cp $(S)src/etc/_cargo $$(IMGDIR_$(1))$(CFG_DATADIR)/zsh/site-functions/_cargo - cp $(S)src/etc/cargo.bashcomp.sh $$(IMGDIR_$(1))$(CFG_SYSCONFDIR)/bash_completion.d/cargo - cp $(S)README.md $(S)LICENSE-MIT $(S)LICENSE-APACHE \ - $(S)LICENSE-THIRD-PARTY \ - $$(IMGDIR_$(1))$(CFG_DOCDIR) - -prepare-overlay-$(1): - rm -Rf $$(OVERLAYDIR_$(1)) - mkdir -p $$(OVERLAYDIR_$(1)) - cp $(S)README.md $(S)LICENSE-MIT $(S)LICENSE-APACHE \ - $(S)LICENSE-THIRD-PARTY \ - $$(OVERLAYDIR_$(1)) - echo "$(CFG_VERSION)" > $$(OVERLAYDIR_$(1))/version - -$$(DISTDIR_$(1))/$$(PKG_NAME)-$(1).tar.gz: prepare-image-$(1) prepare-overlay-$(1) - sh $(S)src/rust-installer/gen-installer.sh \ - --product-name=Rust \ - --rel-manifest-dir=rustlib \ - --success-message=Rust-is-ready-to-roll. \ - --image-dir=$$(IMGDIR_$(1)) \ - --work-dir=./$$(DISTDIR_$(1)) \ - --output-dir=./$$(DISTDIR_$(1)) \ - --non-installed-overlay=$$(OVERLAYDIR_$(1)) \ - --package-name=$$(PKG_NAME)-$(1) \ - --component-name=cargo \ - --legacy-manifest-dirs=rustlib,cargo - rm -Rf $$(IMGDIR_$(1)) - -install-$(1): $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1).tar.gz - $$(PKGDIR_$(1))/install.sh \ - --prefix="$$(CFG_PREFIX)" \ - --destdir="$$(DESTDIR)" $$(MAYBE_DISABLE_VERIFY) - -uninstall-$(1): $$(DISTDIR_$(1))/$$(PKG_NAME)-$(1).tar.gz - $$(PKGDIR_$(1))/install.sh \ - --prefix="$$(CFG_PREFIX)" \ - --destdir="$$(DESTDIR)" \ - --uninstall -endef -$(foreach target,$(CFG_TARGET),$(eval $(call DO_DIST_TARGET,$(target)))) - -dist: $(foreach target,$(CFG_TARGET),dist-$(target)) -distcheck: $(foreach target,$(CFG_TARGET),distcheck-$(target)) -install: $(foreach target,$(CFG_TARGET),install-$(target)) -uninstall: $(foreach target,$(CFG_TARGET), uninstall-$(target)) - - -# Setup phony tasks -.PHONY: all clean clean-all dist distcheck install uninstall test test-unit style - -# Disable unnecessary built-in rules -.SUFFIXES: - diff --git a/README.md b/README.md index 60eab9e63..297452e44 100644 --- a/README.md +++ b/README.md @@ -34,22 +34,6 @@ With `cargo` already installed, you can simply run: cargo build --release ``` -Otherwise, you can also use a more traditional approach: - -```sh -./configure -make -make install -``` - -More options can be discovered through `./configure`, such as compiling cargo -for more than one target. For example, if you'd like to compile both 32 and 64 -bit versions of cargo on unix you would use: - -``` -$ ./configure --target=i686-unknown-linux-gnu,x86_64-unknown-linux-gnu -``` - ## Running the tests To run cargo's tests, use `cargo test`. If you do not have the cross-compilers @@ -71,8 +55,7 @@ the `src/doc` directory. To view the rendered version of changes you have made locally, run: ```sh -./configure -make doc +sh src/ci/dox.sh open target/doc/index.html ``` diff --git a/appveyor.yml b/appveyor.yml index 7c3597b04..d901dbe18 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,38 +1,14 @@ environment: - RUSTFLAGS: -Zunstable-options -Ctarget-feature=+crt-static matrix: - - TARGET: x86_64-pc-windows-gnu - BITS: 64 - CFG_DISABLE_CROSS_TESTS: 1 - MAKE_TARGETS: test-unit-x86_64-pc-windows-gnu - - TARGET: i686-pc-windows-gnu - BITS: 32 - MINGW_URL: https://s3.amazonaws.com/rust-lang-ci - MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z - MINGW_DIR: mingw32 - CFG_DISABLE_CROSS_TESTS: 1 - MAKE_TARGETS: test-unit-i686-pc-windows-gnu - - TARGET: i686-pc-windows-msvc - BITS: 32 - MAKE_TARGETS: test-unit-i686-pc-windows-msvc - CFG_DISABLE_CROSS_TESTS: 1 - ALLOW_PR: 1 - TARGET: x86_64-pc-windows-msvc OTHER_TARGET: i686-pc-windows-msvc - BITS: 64 MAKE_TARGETS: test-unit-x86_64-pc-windows-msvc install: - - set PATH=C:\msys64\mingw%BITS%\bin;C:\msys64\usr\bin;%PATH% - - if defined MINGW_URL appveyor DownloadFile %MINGW_URL%/%MINGW_ARCHIVE% - - if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul - - if defined MINGW_URL set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH% - - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly-2017-03-03 + - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin - - if NOT "%TARGET%" == "x86_64-pc-windows-msvc" rustup target add %TARGET% - - if defined OTHER_TARGET rustup target add %OTHER_TARGET% + - rustup target add %OTHER_TARGET% - rustc -V - cargo -V - git submodule update --init @@ -42,29 +18,4 @@ clone_depth: 1 build: false test_script: - - sh src/ci/run.sh %TARGET% - -before_deploy: - - ps: | - New-Item -Path deploy -ItemType directory - Get-ChildItem -Path target\${env:TARGET}\release\dist -Filter '*.tar.gz' | Move-Item -Destination deploy - Get-FileHash .\deploy\* | ForEach-Object { - [io.file]::WriteAllText($_.Path + ".sha256", $_.Hash.ToLower() + "`n") - } - Get-ChildItem -Path deploy | Foreach-Object { - Push-AppveyorArtifact $_.FullName -FileName ${env:APPVEYOR_REPO_COMMIT}/$_ - } - -deploy: - - provider: S3 - skip_cleanup: true - access_key_id: AKIAIWZDM2B2IJOWBGTA - secret_access_key: - secure: hyH54di5NyNdV+jjntM1dRN/NeUgDidwZmwcg4/UKpdJqGf1AAwYb2ulXYK67CXA - bucket: rust-lang-ci - set_public: true - region: us-east-1 - folder: cargo-builds - artifact: /.*\.(tar.gz|sha256)/ - on: - branch: auto-cargo + - cargo test diff --git a/configure b/configure deleted file mode 100755 index d4e0f9c05..000000000 --- a/configure +++ /dev/null @@ -1,423 +0,0 @@ -#!/bin/sh - -# /bin/sh on Solaris is not a POSIX compatible shell, but /usr/bin/bash is. -if [ `uname -s` = 'SunOS' -a "${POSIX_SHELL}" != "true" ]; then - POSIX_SHELL="true" - export POSIX_SHELL - exec /usr/bin/env bash $0 "$@" -fi -unset POSIX_SHELL # clear it so if we invoke other scripts, they run as bash as well - -msg() { - echo "configure: $1" -} - -step_msg() { - msg - msg "$1" - msg -} - -warn() { - echo "configure: WARNING: $1" -} - -err() { - echo "configure: error: $1" - exit 1 -} - -need_ok() { - if [ $? -ne 0 ] - then - err "$1" - fi -} - -need_cmd() { - if command -v $1 >/dev/null 2>&1 - then msg "found $1" - else err "need $1" - fi -} - -make_dir() { - if [ ! -d $1 ] - then - msg "mkdir -p $1" - mkdir -p $1 - fi -} - -copy_if_changed() { - if cmp -s $1 $2 - then - msg "leaving $2 unchanged" - else - msg "cp $1 $2" - cp -f $1 $2 - chmod u-w $2 # make copied artifact read-only - fi -} - -move_if_changed() { - if cmp -s $1 $2 - then - msg "leaving $2 unchanged" - else - msg "mv $1 $2" - mv -f $1 $2 - chmod u-w $2 # make moved artifact read-only - fi -} - -putvar() { - local T - eval T=\$$1 - eval TLEN=\${#$1} - if [ $TLEN -gt 35 ] - then - printf "configure: %-20s := %.35s ...\n" $1 "$T" - else - printf "configure: %-20s := %s %s\n" $1 "$T" "$2" - fi - printf "%-20s := %s\n" $1 "$T" >>config.tmp -} - -probe() { - local V=$1 - shift - local P - local T - for P - do - T=$(command -v $P 2>&1) - if [ $? -eq 0 ] - then - VER0=$($P --version 2>/dev/null | head -1 \ - | sed -e 's/[^0-9]*\([vV]\?[0-9.]\+[^ ]*\).*/\1/' ) - if [ $? -eq 0 -a "x${VER0}" != "x" ] - then - VER="($VER0)" - else - VER="" - fi - break - else - VER="" - T="" - fi - done - eval $V=\$T - putvar $V "$VER" -} - -probe_need() { - local V=$1 - probe $* - eval VV=\$$V - if [ -z "$VV" ] - then - err "needed, but unable to find any of: $*" - fi -} - -validate_opt () { - for arg in $CFG_CONFIGURE_ARGS - do - isArgValid=0 - for option in $BOOL_OPTIONS - do - if test --disable-$option = $arg - then - isArgValid=1 - fi - if test --enable-$option = $arg - then - isArgValid=1 - fi - done - for option in $VAL_OPTIONS - do - if echo "$arg" | grep -q -- "--$option=" - then - isArgValid=1 - fi - done - if [ "$arg" = "--help" ] - then - echo - echo "No more help available for Configure options," - echo "check the Wiki or join our IRC channel" - break - else - if test $isArgValid -eq 0 - then - err "Option '$arg' is not recognized" - fi - fi - done -} - -valopt() { - VAL_OPTIONS="$VAL_OPTIONS $1" - - local OP=$1 - local DEFAULT=$2 - shift - shift - local DOC="$*" - if [ $HELP -eq 0 ] - then - local UOP=$(echo $OP | tr '[:lower:]' '[:upper:]' | tr '\-' '\_') - local V="CFG_${UOP}" - eval $V="$DEFAULT" - for arg in $CFG_CONFIGURE_ARGS - do - if echo "$arg" | grep -q -- "--$OP=" - then - val=$(echo "$arg" | cut -f2 -d=) - eval $V=$val - fi - done - putvar $V - else - if [ -z "$DEFAULT" ] - then - DEFAULT="" - fi - OP="${OP}=[${DEFAULT}]" - printf " --%-30s %s\n" "$OP" "$DOC" - fi -} - -opt() { - BOOL_OPTIONS="$BOOL_OPTIONS $1" - - local OP=$1 - local DEFAULT=$2 - shift - shift - local DOC="$*" - local FLAG="" - - if [ $DEFAULT -eq 0 ] - then - FLAG="enable" - else - FLAG="disable" - DOC="don't $DOC" - fi - - if [ $HELP -eq 0 ] - then - for arg in $CFG_CONFIGURE_ARGS - do - if [ "$arg" = "--${FLAG}-${OP}" ] - then - OP=$(echo $OP | tr 'a-z-' 'A-Z_') - FLAG=$(echo $FLAG | tr 'a-z' 'A-Z') - local V="CFG_${FLAG}_${OP}" - eval $V=1 - putvar $V - fi - done - else - if [ ! -z "$META" ] - then - OP="$OP=<$META>" - fi - printf " --%-30s %s\n" "$FLAG-$OP" "$DOC" - fi -} - -envopt() { - local NAME=$1 - local V="CFG_${NAME}" - eval VV=\$$V - - # If configure didn't set a value already, then check environment. - # - # (It is recommended that the configure script always check the - # environment before setting any values to envopt variables; see - # e.g. how CFG_CC is handled, where it first checks `-z "$CC"`, - # and issues msg if it ends up employing that provided value.) - if [ -z "$VV" ] - then - eval $V=\$$NAME - eval VV=\$$V - fi - - # If script or environment provided a value, save it. - if [ ! -z "$VV" ] - then - putvar $V - fi -} - -msg "looking for configure programs" -need_cmd cmp -need_cmd mkdir -need_cmd printf -need_cmd cut -need_cmd head -need_cmd grep -need_cmd xargs -need_cmd cp -need_cmd find -need_cmd uname -need_cmd date -need_cmd tr -need_cmd sed -need_cmd cmake -need_cmd make - -CFG_SRC_DIR="$(cd $(dirname $0) && pwd)/" -CFG_BUILD_DIR="$(pwd)/" -CFG_SELF="$0" -CFG_CONFIGURE_ARGS="$@" - -OPTIONS="" -HELP=0 -if [ "$1" = "--help" ] -then - HELP=1 - shift - echo - echo "Usage: $CFG_SELF [options]" - echo - echo "Options:" - echo -else - msg "recreating config.tmp" - echo '' >config.tmp - - step_msg "processing $CFG_SELF args" -fi - -BOOL_OPTIONS="" -VAL_OPTIONS="" - -opt debug 1 "build with extra debug fun" -opt optimize 1 "build with optimizations" -opt verify-install 1 "verify installed binaries work" -opt option-checking 1 "complain about unrecognized options in this configure script" -opt cross-tests 1 "run cross-compilation tests" -opt build-openssl 0 "compile OpenSSL at build time to link to" -valopt prefix "/usr/local" "set installation prefix" -valopt local-rust-root "" "set prefix for local rust binary" - -if [ ! -z "${CFG_LOCAL_RUST_ROOT}" ]; then - export LD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$LD_LIBRARY_PATH" - export DYLD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$DYLD_LIBRARY_PATH" - export LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$LIBRARY_PATH" - export PATH="${CFG_LOCAL_RUST_ROOT}/bin:$PATH" -fi - -valopt cargo "cargo" "cargo to bootstrap from" -valopt rustc "rustc" "rustc to compile with" -valopt rustdoc "rustdoc" "rustdoc to document with" - -if [ $HELP -eq 0 ]; then - probe_need CFG_CARGO $CFG_CARGO - probe_need CFG_RUSTC $CFG_RUSTC - probe_need CFG_RUSTDOC $CFG_RUSTDOC - DEFAULT_BUILD=$("${CFG_RUSTC}" -vV | grep 'host: ' | sed 's/host: //') -fi - -valopt build "${DEFAULT_BUILD}" "GNUs ./configure syntax LLVM build triple" -valopt host "${CFG_BUILD}" "GNUs ./configure syntax LLVM host triples" -valopt target "${CFG_HOST}" "GNUs ./configure syntax LLVM target triples" - -valopt localstatedir "/var/lib" "local state directory" -valopt sysconfdir "/etc" "install system configuration files" -valopt datadir "${CFG_PREFIX}/share" "install data" -valopt infodir "${CFG_PREFIX}/share/info" "install additional info" -valopt docdir "${CFG_PREFIX}/share/doc/cargo" "install extra docs" -valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH" -valopt libdir "${CFG_PREFIX}/lib" "install libraries" - -if [ -e ${CFG_SRC_DIR}.git ] -then - valopt release-channel "dev" "the name of the release channel to build" -else - msg "git: no git directory. Changing default release channel to stable" - valopt release-channel "stable" "the name of the release channel to build" -fi - -if [ $HELP -eq 1 ] -then - echo - exit 0 -fi - -# Validate Options -if [ -z "$CFG_DISABLE_OPTION_CHECKING" ] -then - step_msg "validating $CFG_SELF args" - validate_opt -fi - -step_msg "looking for build programs" - -probe_need CFG_CC cc gcc clang -probe GIT git - -# a little post-processing of various config values -CFG_PREFIX=${CFG_PREFIX%/} -CFG_DATADIR=${CFG_DATADIR%/} -CFG_INFODIR=${CFG_INFODIR%/} -CFG_DOCDIR=${CFG_DOCDIR%/} -CFG_MANDIR=${CFG_MANDIR%/} -CFG_LIBDIR=${CFG_LIBDIR%/} -CFG_HOST="$(echo $CFG_HOST | tr ',' ' ')" -CFG_TARGET="$(echo $CFG_TARGET | tr ',' ' ')" - -# strip CFG_PREFIX from variables used for installation so that -# install.sh's --prefix value can be used instead -CFG_DATADIR=${CFG_DATADIR#${CFG_PREFIX}} -CFG_INFODIR=${CFG_INFODIR#${CFG_PREFIX}} -CFG_DOCDIR=${CFG_DOCDIR#${CFG_PREFIX}} -CFG_MANDIR=${CFG_MANDIR#${CFG_PREFIX}} -CFG_LIBDIR=${CFG_LIBDIR#${CFG_PREFIX}} - -# copy host-triples to target-triples so that hosts are a subset of targets -V_TEMP="" -for i in $CFG_HOST $CFG_TARGET; -do - echo "$V_TEMP" | grep -qF $i || V_TEMP="$V_TEMP${V_TEMP:+ }$i" -done -CFG_TARGET=$V_TEMP - -if [ "$CFG_SRC_DIR" != "$CFG_BUILD_DIR" ]; then - CFG_CUSTOM_BUILD_DIR=$CFG_BUILD_DIR/target - putvar CFG_CUSTOM_BUILD_DIR -fi - -step_msg "writing configuration" - -putvar CFG_SRC_DIR -putvar CFG_BUILD_DIR -putvar CFG_CONFIGURE_ARGS -putvar CFG_PREFIX -putvar CFG_BUILD -putvar CFG_HOST -putvar CFG_TARGET -putvar CFG_DATADIR -putvar CFG_DOCDIR -putvar CFG_INFODIR -putvar CFG_MANDIR -putvar CFG_LIBDIR -putvar CFG_RUSTC -putvar CFG_RUSTDOC -putvar CFG_CARGO -putvar CFG_GIT - -msg -copy_if_changed ${CFG_SRC_DIR}Makefile.in ./Makefile -move_if_changed config.tmp config.mk -rm -f config.tmp -touch config.stamp - -step_msg "complete" -msg diff --git a/src/ci/docker/android/Dockerfile b/src/ci/docker/android/Dockerfile deleted file mode 100644 index 3125ae7b6..000000000 --- a/src/ci/docker/android/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - curl \ - gcc \ - git \ - libc6-dev \ - make \ - pkg-config - -WORKDIR /android -RUN apt-get install -y --no-install-recommends \ - unzip \ - python && \ - curl -O https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip && \ - unzip -q android-ndk-r13b-linux-x86_64.zip && \ - ./android-ndk-r13b/build/tools/make_standalone_toolchain.py \ - --install-dir /android-ndk/arm --arch arm --api 21 && \ - rm -rf ./android-ndk-r13b-linux-x86_64.zip ./android-ndk-r13b && \ - apt-get purge --auto-remove -y unzip python - -ENV PATH=$PATH:/android-ndk/arm/bin - -ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc diff --git a/src/ci/docker/cross/Dockerfile b/src/ci/docker/cross/Dockerfile deleted file mode 100644 index 010904fbe..000000000 --- a/src/ci/docker/cross/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM alexcrichton/rust-slave-linux-cross:2017-02-02 -ENTRYPOINT [] - -ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc \ - CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ - CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=armv7-linux-gnueabihf-gcc \ - CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \ - CARGO_TARGET_I686_UNKNOWN_FREEBSD_LINKER=i686-unknown-freebsd10-gcc \ - CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_LINKER=x86_64-unknown-freebsd10-gcc \ - CARGO_TARGET_X86_64_UNKNOWN_NETBSD_LINKER=x86_64-unknown-netbsd-gcc \ - CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \ - CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER=mipsel-linux-gnu-gcc \ - CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \ - CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc \ - CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \ - CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \ - CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \ - CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc diff --git a/src/ci/docker/dist/Dockerfile b/src/ci/docker/dist/Dockerfile deleted file mode 100644 index d87d8f719..000000000 --- a/src/ci/docker/dist/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM alexcrichton/rust-slave-dist:2016-09-26 -ENTRYPOINT [] diff --git a/src/ci/docker/run.sh b/src/ci/docker/run.sh deleted file mode 100755 index fcc3282a5..000000000 --- a/src/ci/docker/run.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Copyright 2016 The Rust Project Developers. See the COPYRIGHT -# file at the top-level directory of this distribution and at -# http://rust-lang.org/COPYRIGHT. -# -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. - -set -e - -script=`cd $(dirname $0) && pwd`/`basename $0` -image=$1 -TARGET=$2 - -docker_dir="`dirname $script`" -ci_dir="`dirname $docker_dir`" -src_dir="`dirname $ci_dir`" -root_dir="`dirname $src_dir`" - -docker build \ - --rm \ - -t rust-ci \ - "`dirname "$script"`/$image" - -mkdir -p $HOME/.cargo -mkdir -p target - -exec docker run \ - --user `id -u`:`id -g` \ - --volume "$root_dir:/checkout:ro" \ - --workdir /tmp \ - --env CFG_DISABLE_CROSS_TESTS=$CFG_DISABLE_CROSS_TESTS \ - --env MAKE_TARGETS="$MAKE_TARGETS" \ - --env SRC=/checkout \ - --env CARGO_HOME=/cargo \ - --env TRAVIS_BRANCH=$TRAVIS_BRANCH \ - --env TRAVIS_PULL_REQUEST_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH \ - --env ALLOW_PR=$ALLOW_PR \ - --env CI=$CI \ - --volume "$HOME/.cargo:/cargo" \ - --volume `rustc --print sysroot`:/rust:ro \ - --volume `pwd`/target:/tmp/target \ - rust-ci \ - sh -c "\ - PATH=\$PATH:/rust/bin \ - LD_LIBRARY_PATH=/rust/lib:\$LD_LIBRARY_PATH \ - /checkout/src/ci/run.sh $TARGET" - diff --git a/src/ci/docker/x86_64-musl/Dockerfile b/src/ci/docker/x86_64-musl/Dockerfile deleted file mode 100644 index 4206c3120..000000000 --- a/src/ci/docker/x86_64-musl/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update -y && apt-get install -y --no-install-recommends \ - cmake \ - make \ - gcc \ - musl-tools \ - curl \ - ca-certificates \ - libc6-dev \ - git diff --git a/src/ci/dox.sh b/src/ci/dox.sh new file mode 100644 index 000000000..5f65a31ad --- /dev/null +++ b/src/ci/dox.sh @@ -0,0 +1,28 @@ +set -ex + +DOCS="index faq config guide manifest build-script pkgid-spec crates-io \ + environment-variables specifying-dependencies source-replacement \ + policies external-tools" +ASSETS="CNAME images/noise.png images/forkme.png images/Cargo-Logo-Small.png \ + stylesheets/all.css stylesheets/normalize.css javascripts/prism.js \ + javascripts/all.js stylesheets/prism.css images/circle-with-i.png \ + images/search.png images/org-level-acl.png images/auth-level-acl.png \ + favicon.ico" + +for asset in $ASSETS; do + mkdir -p `dirname target/doc/$asset` + cp src/doc/$asset target/doc/$asset +done + +for doc in $DOCS; do + rustdoc \ + --markdown-no-toc \ + --markdown-css stylesheets/normalize.css \ + --markdown-css stylesheets/all.css \ + --markdown-css stylesheets/prism.css \ + --html-in-header src/doc/html-headers.html \ + --html-before-content src/doc/header.html \ + --html-after-content src/doc/footer.html \ + -o target/doc \ + src/doc/$doc.md +done diff --git a/src/ci/run.sh b/src/ci/run.sh deleted file mode 100755 index a42d38f68..000000000 --- a/src/ci/run.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -# Copyright 2016 The Rust Project Developers. See the COPYRIGHT -# file at the top-level directory of this distribution and at -# http://rust-lang.org/COPYRIGHT. -# -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. - -set -ex - -TARGET=$1 - -if [ -z "$SRC" ]; then - SRC=. -fi - -BRANCH=$TRAVIS_BRANCH -if [ "$BRANCH" = "" ]; then - BRANCH=$APPVEYOR_REPO_BRANCH -fi - -if [ "$BRANCH" = "stable" ]; then - CHANNEL=stable -elif [ "$BRANCH" = "beta" ]; then - CHANNEL=beta -elif [ "$BRANCH" = "master" ]; then - CHANNEL=nightly -elif [ "$BRANCH" = "auto-cargo" ]; then - CHANNEL=nightly -else - CHANNEL=dev -fi - -# We want to only run tests in a few situations: -# -# * All tests on the auto-cargo branch -# * One test on PRs -# * Any tests done locally -# -# This means that here if we're on CI, then we skip tests if it's not the right -# branch or if we're not configured to run a test on PRs -if [ -n "$CI" ] && [ "$BRANCH" != "auto-cargo" ] && [ "$ALLOW_PR" = "" ]; then - echo no build necessary, skipping - exit 0 -fi - -# For some unknown reason libz is not found in the android docker image, so we -# use this workaround -if [ "$TARGET" = armv7-linux-androideabi ]; then - export DEP_Z_ROOT=/android-ndk/arm/sysroot/usr -fi - -$SRC/configure \ - --prefix=/tmp/obj/install \ - --target=$TARGET \ - --release-channel=$CHANNEL \ - --enable-build-openssl - -make cargo-$TARGET -make dist-$TARGET - -if [ ! -z "$MAKE_TARGETS" ]; then - for target in "$MAKE_TARGETS"; do - make $target - done -fi diff --git a/src/rust-installer b/src/rust-installer deleted file mode 160000 index 4f9948508..000000000 --- a/src/rust-installer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4f994850808a572e2cc8d43f968893c8e942e9bf